package com.whosly.disclosure.early.handler.param;

import com.whosly.disclosure.early.handler.enums.DingtalkMsgType;
import lombok.*;

import java.util.Set;

/**
 * 钉钉text 消息
 *
 *
 * text 内容
 *
   {
         "msgtype": "text",
         "text": {
            "content": "我就是我, 是不一样的烟火@156xxxx8827"
         },
         // Array, 被@人的手机号(在content里添加@人的手机号)
         "at": {
             "atMobiles": [
                 "156xxxx8827",
                 "189xxxx8325"
             ],
             "isAtAll": false
         }
    }
 *
 *
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TextParam implements ITextParam {
    /**
     * 类型， text
     */
    private final String msgtype = DingtalkMsgType.TEXT.getType();

    /**
     * 内容
     */
    private Object text;

    /**
     * 艾特的提醒人
     */
    private At at;

    /**
     * 内容
     */
    @ToString
    public static class At {

        /**
         * @所有人时：true，否则为：false
         */
        @Getter
        @Setter
        private Boolean isAtAll = false;

        /**
         * 被@人的手机号(在content里添加@人的手机号)。 可以为 null，则json时不输出
         */
        @Getter
        @Setter
        private Set<String> atMobiles;

    }

}
